package com.geeksx.trainer.common;

import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;
import java.util.List;

/**
 * 通用分页结果封装
 */
@Data
public class PageResult<T> {
    private long total;      // 总记录数
    private long page;       // 当前页
    private long size;       // 每页大小
    private List<T> records; // 数据列表

    /**
     * 将 MyBatis-Plus 的分页结果转换为 PageResult
     */
    public static <T> PageResult<T> of(IPage<T> page) {
        PageResult<T> result = new PageResult<>();
        result.setTotal(page.getTotal());
        result.setPage(page.getCurrent());
        result.setSize(page.getSize());
        result.setRecords(page.getRecords());
        return result;
    }
}
